import request from '@/utils/request'

// 获取角色列表
export const getRoleListApi = (page, limit, roleName) => {
  return request.get(`/admin/acl/role/${page}/${limit}`, {
    params: {
      roleName
    }
  });
};

/**
 * 保存一个新角色
 * @param role 角色对象
 * @returns null
 */
export const saveRoleApi = (role) => {
  return request.post('/admin/acl/role/save', role);
};


/**
 * 更新一个角色
 * @param role 角色对象
 * @returns null
 */
export const updateRoleApi = (role) => {
  return request.put( '/admin/acl/role/update', role);
};

/**
 * 删除某个角色
 * @param id 角色id
 * @returns null
 */
export const removeRoleApi = (id) => {
  return request.delete(`/admin/acl/role/remove/${id}`);
};

/**
 * 批量删除多个角色
 * @param ids 角色id的数组
 * @returns null
 */
export const removeRolesApi = (ids) => {
  return request.delete('/admin/acl/role/batchRemove', {
    data: ids
  });
};


/**
 * 给某个角色授权
 * @param roleId 角色ID
 * @param permissionId 多个权限id组成的字符串  2,3,4
 * @returns null
 */
 export const assignRoleApi = (roleId, permissionId) => {
  return request.post('/admin/acl/permission/doAssign', null, {
    params: {
      roleId,
      permissionId
    },
  });
};

/**
 * 获取一个角色的所有权限列表
 * @param roleId 角色id
 * @returns PermissionModel
 */
export const getAssignRoleApi = (roleId) => {
  return request.get(`/admin/acl/permission/toAssign/${roleId}`);
};

